package com.itheima.myreflect1;

import com.itheima.domain.Student;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Test1 {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
//        1). 使用反射获取Student的Class对象。
//	2). 获取 “公有、全参构造方法”；
//	3). 调用 “公有、全参构造方法”传入：“柳岩”,17两个参数。
//	4). 反射获取show()方法
//	5). 调用show()方法
        Class aClass = Class.forName("com.itheima.domain.Student");
        Constructor constructor = aClass.getDeclaredConstructor(String.class,int.class);
        Student s = (Student) constructor.newInstance("柳岩",17);

        Method method = aClass.getDeclaredMethod("show");
        method.invoke(s);
    }
}
